package com.example.domain;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;

import lombok.Data;

/**
 * @TableName user
 */
@TableName(value = "user")
@Data
public class User implements Serializable {
	/**
	 * 主键
	 */
	@TableId(type = IdType.AUTO)
	private Integer id;

	/**
	 * 个人或商家用户名称或骑手名称
	 */
	private String userName;

	/**
	 * 手机号
	 */
	private String telephone;

	/**
	 * 邮箱
	 */
	private String email;

	/**
	 * 详细地址
	 */
	private String address;

	/**
	 * 性别（0：男；1：女）
	 */
	private Integer sex;

	/**
	 * 银行账号（16位数字）
	 */
	private String bankCount;

	/**
	 * 密码
	 */
	private String password;

	/**
	 * 身份（0：个人用户；1：商家用户；2：配送员）
	 */
	private Integer identity;

	/**
	 * 商家营业执照（个人用户可以为空，商家用户不可以为空，配送员可以为空）
	 */
	private String account;

	/**
	 * 积分（100积分=1元）
	 */
	private Integer integral;

	/**
	 * 账户余额
	 */
	private Double balance;

	/**
	 * 注册状态，由管理员负责（0：注册并未通过；1：审核已通过；2：审核未通过）
	 */
	private Integer auditRegistryState;

	/**
	 * 个人/商家/配送员用户状态（0：未禁用；1：已禁用）
	 */
	private Integer enableState;

	/**
	 * 商家等级，个人用户可以为空（0/1/2/3/4/5）
	 */
	private Integer rate;

	/**
	 * 逻辑删除（0：未被删除；1：已经被删除）
	 */
	private Integer deleted;

	/**
	 * 乐观锁
	 */
	private Integer version;

	/**
	 * 创建时间
	 */
	@TableField(fill = FieldFill.INSERT)
	private Date gmtCreate;

	/**
	 * 信息被修改的时间
	 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private Date gmtUpdate;

	private Double latitude;

	private Double longitude;

	@TableField(exist = false)
	private static final long serialVersionUID = 1L;
}